home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-18 | 1.0 KB | 57 lines | [TEXT/CWIE] |
- // FileOutStream.h
-
- #ifndef FileOutStream_h
- #define FileOutStream_h
-
- #ifndef OutStream_h
- #include "OutStream.h"
- #endif
- #ifndef ParamBlockTask_h
- #include "ParamBlockTask.h"
- #endif
-
- class FileWritingPath;
-
- class FileOutStream: public OutStream,
- private ParamBlockTask
- {
- private:
- bool flushing;
-
- virtual void Launch();
- virtual void Kill();
-
- virtual void AtCompletion();
-
- enum { cacheBit = 16 };
- enum { noCacheBit = 32 };
-
- protected:
- virtual Task *NonblockingWrite( ConstData );
- virtual Task *BlockingWrite( ConstData );
-
- virtual Task *FlushingTask();
-
- public:
- FileOutStream();
- ~FileOutStream() {}
-
- bool HasFile() const { return ioParam.ioRefNum != 0; }
- int16 File() const { return ioParam.ioRefNum; }
-
- void SetFile( const FileWritingPath&, uint32 position = 0 );
- void ClearFile();
-
- uint32 Position() const;
- void SetPosition( uint32 p );
-
- void SuggestCaching();
- void SuggestNoCaching();
- void ClearCachingSuggestion();
-
- void VerifyWrites();
- void DontVerifyWrites();
- };
-
- #endif
-